home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { xTool - Component Collection }
- { }
- { Copyright (c) 1995 Stefan B÷ther }
- { }
- {*******************************************************}
- unit DbFilter;
- { encapsulation of the BDE filter-function as a component }
-
- interface
-
- uses
- WinTypes, WinProcs, SysUtils, Classes, Graphics, Dialogs,
- Forms, Db, DbiTypes, DbiProcs;
-
- type
- TFilterEvent = function (Sender:TObject; Dataset:TDataSet): Boolean of object;
-
- TFilterDatalink = class;
- TDbFilter = class(TComponent)
- private
- FDatalink : TFilterDatalink;
- FOnFilter : TFilterEvent;
- FHandle : hDBIFilter;
- FPriority : Word;
- FRecSize : Word;
- FRecBuffer : Pointer;
- procedure ActiveChanged;
- function GetDatasource:TDatasource;
- procedure SetDatasource(Value: TDatasource);
- procedure SetPriority(Value: Word);
- protected
- function DoFilter(pRecBuf:Pointer): Boolean;
- public
- constructor Create(aOwner:TComponent); override;
- destructor Destroy; override;
- property Handle: hDBIFilter read FHandle;
- published
- property Datasource: TDatasource read GetDatasource write SetDatasource;
- property Priority: Word read FPriority write SetPriority;
- property OnFilter: TFilterEvent read FOnFilter write FOnFilter;
- end;
-
- { TFilterDataLink }
-
- TFilterDataLink = class(TDataLink)
- private
- FFilter : TDBFilter;
- protected
- procedure ActiveChanged; override;
- public
- constructor Create(AFilter: TDbFilter);
- destructor Destroy; override;
- end;
-
- procedure Register;
-
-